// pages/shopList/shopList.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 保存路径的参数
        query:{},
        // 分页配置
        shopList:[], // 所有的数据
        page:1, // 第几页
        pageSize:10, //几条数据
        total:80, // 总共
        isloading:false,// 节流阀  false 可以加载下一页数据

    },
    //获取商品数据
    getShopList(cb){
        // 开启节流阀
        this.setData({
            isloading:true
        })
        // 展示loading
        wx.showLoading({
          title: '页面加载中',
        })
        wx.request({
          url: `https://applet-base-api-t.itheima.net/categories/${this.data.query.id}/shops`,
          data:{
              _page:this.data.page,
              _limit:this.data.pageSize
          },
          method:"GET",
          success:({data:res}) =>{
            //   console.log(res.header);
              this.setData({
                  shopList:[...this.data.shopList,...res]
              })
          },
          // 无论是否成功，都执行
          complete:()=>{
              // 关闭loading
              wx.hideLoading({
                success: (res) => {},
              }),
              // 关闭节流阀
              this.setData({
                  isloading:false
              })
              // 停止下拉刷新
            //   wx.stopPullDownRefresh({
            //     success: (res) => {},
            //   })
            // 按需调用
            cb && cb()

          }
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // 将路由传递的参数保存在data下的query 
        this.setData({
            query:options
        })
        // 加载数据
        this.getShopList()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {
        // 调用修改title api
        wx.setNavigationBarTitle({
            // 调用 data中保存的query 修改title
          title: this.data.query.title,
        })

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        // 重置关键信息
        this.setData({
            page:1,
            shopList:[],
        })
        // 再次发送请求
        this.getShopList(()=>{
            wx.stopPullDownRefresh({
              success: (res) => {},
            })
        })


    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        // 判断是否还有下一页数据
        if(this.data.page * this.data.pageSize >= this.data.total){
            return wx.showToast({
                title: '没有数据啦',
                icon: 'error',
                duration: 2000
              })
        }
        // 判断节流阀状态
        if(this.data.isloading) return
        // console.log("ok");
        // 首先让page 加一
        this.setData({
            page:this.data.page+1
        })
        //再次调用 加载list数据
        this.getShopList()

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})